﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using VemTransporte.Models.Basica;
using VemTransporte.Models.Fachada;

namespace VemTransporte.Views.UsuarioTransporte
{
    public partial class MenuUsuarioHorarios : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Usuario usuarioLogado = (Usuario)Session["UsuarioLogado"];

                if (usuarioLogado != null)
                {
                    ImgFotoUsuario.ImageUrl = string.Format("/UsuarioFotos/{0}.jpg", usuarioLogado.Id);

                    if (usuarioLogado.Nome.IndexOf(" ") > 0)
                    {
                        LabelNomeUsuario.Text = usuarioLogado.Nome.Substring(0, usuarioLogado.Nome.IndexOf(" "));
                    }
                    else
                    {
                        LabelNomeUsuario.Text = usuarioLogado.Nome;
                    }

                    if ((usuarioLogado.UsuarioLinhas != null) && (usuarioLogado.UsuarioLinhas.Count > 0))
                    {
                        foreach (UsuarioLinha usuarioLinha in usuarioLogado.UsuarioLinhas)
                        {
                            DropDownListLinhas.Items.Add(usuarioLinha.Linha.Nome);
                        }

                        Linha l = usuarioLogado.UsuarioLinhas[0].Linha;

                        GridViewHorario.DataSource = l.Horarios;
                        GridViewHorario.DataBind();
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(this, this.GetType(), "Alerta", "alert('Você não tem nenhuma linha cadastrada!'); window.location='MenuUsuarioLinha.aspx';", true);
                    }
                }
                else
                {
                    //Usuario não encontrado 
                    Response.Redirect("Login.aspx", false);
                }
            }
        }

        protected void GridViewHorario_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                this.GridViewHorario.PageIndex = e.NewPageIndex;

                Usuario usuarioLogado = (Usuario)Session["UsuarioLogado"];

                if (usuarioLogado != null)
                {
                    Linha l = usuarioLogado.UsuarioLinhas[DropDownListLinhas.SelectedIndex].Linha;

                    GridViewHorario.DataSource = l.Horarios;
                    GridViewHorario.DataBind();
                }
                else
                {
                    Response.Redirect("Login.aspx", false);
                }
            }
            catch (Exception ex)
            {
                ErrorMessage.Text = ex.Message;
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                ErrorMessage.Text = "";

                Usuario usuarioLogado = (Usuario)Session["UsuarioLogado"];

                if (usuarioLogado != null)
                {
                    Linha l = usuarioLogado.UsuarioLinhas[DropDownListLinhas.SelectedIndex].Linha;

                    GridViewHorario.DataSource = l.Horarios;
                    GridViewHorario.DataBind();
                }
                else
                {
                    //Usuario Não encontrado
                    Response.Redirect("Login.aspx", false);
                }
            }
            catch (Exception ex)
            {
                ErrorMessage.Text = ex.Message;
            }
        }
    }
}